#pragma once
#include "Tile.h"
#include "Entity.h"
#include "Graph.h"

#define FLOORSIZE 30

class Floor
{
private:
	Tile m_layout[FLOORSIZE][FLOORSIZE];
	bool m_cleared;
	bool m_visited;
public:
	Floor();
	~Floor();
	void release();
	void intialize(char * fileName);
	void update(float dT);
	void render();
	bool WallCollision(Entity * entity);
	inline bool FloorCleared() { return m_cleared; }
	inline bool FloorVisited() { return m_visited; }
	GraphNode * getNode(V2DF position);
	GraphNode * getNode(int id);
};